home *** CD-ROM | disk | FTP | other *** search
- ;------------------------------------------------------------------------------
- ; .ss.
- ; `²²'
- ; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
- ; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
- ; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
- ; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
- ; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
- ; .sS²°$$$²²°"' d²°'
- ; .$$² .$$'
- ; $$$.,d$$'
- ; `²S$$S²'
- ;------------------------------------------------------------------------------
- ; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
- ;------------------------------------------------------------------------------
- ; PPE 1.OO (plain) - Analysis ON - Postprocessing ON
- ;------------------------------------------------------------------------------
-
- Boolean BOOLEAN001
- Boolean BOOLEAN002
- Boolean TBOOLEAN003(100)
- Integer INTEGER002
- Integer INTEGER003
- Integer INTEGER004
- Integer INTEGER005
- Integer TINTEGER006(50)
- Integer TINTEGER007(50)
- Integer INTEGER008
- Integer INTEGER009
- Integer INTEGER010
- Integer INTEGER011
- Integer TINTEGER012(100)
- Integer TINTEGER013(100)
- String TSTRING001(100)
- String TSTRING002(5)
- String TSTRING003(50)
- String STRING004
- String STRING005
- String STRING006
- String STRING007
- String STRING008
- String TSTRING009(100)
- String STRING010
- String TSTRING011(100)
- String STRING012
- String STRING013
- String STRING014
- String STRING015
- String STRING016
- String STRING017
- String STRING018
- String STRING019
- String TSTRING020(10)
- String TSTRING021(100)
- String TSTRING022(100)
- String TSTRING023(100)
-
- ;------------------------------------------------------------------------------
-
- STRING008 = Chr(13)
- INTEGER009 = CurSec()
- Gosub LABEL002
- Gosub LABEL004
- :LABEL001
- Gosub LABEL006
- :LABEL002
- If (Exist(PPEPath() + "NUV.CFG")) Goto LABEL003
- Log "Your NUV.CFG file is non-existant.", 1
- End
- Goto LABEL005
- :LABEL003
- FOpen 1, PPEPath() + "NUV.CFG", 0, 0
- FGet 1, STRING018
- FGet 1, STRING019
- FGet 1, STRING016
- FGet 1, STRING017
- INTEGER002 = 0
- BOOLEAN001 = 0
- While (BOOLEAN001 == 0) Do
- Inc INTEGER002
- FGet 1, TSTRING020(INTEGER002)
- If ((TSTRING020(INTEGER002) == "") && (INTEGER002 == 1)) Then
- Log "No Infoforms have been defined.", 1
- FClose 1
- End
- Endif
- If ((TSTRING020(INTEGER002) == "") || (INTEGER002 == 10)) BOOLEAN001 = 1
- EndWhile
- FClose 1
- INTEGER010 = INTEGER002 - 1
- Return
- :LABEL004
- If (INTEGER009 <> S2I(STRING016, 10)) Then
- Return
- ElseIf (!Exist(PPEPath() + "VALID.NXT") && !Exist(PPEPath() + "DELETE.NXT")) Then
- PrintLn "Sorry, you have not yet been validated"
- Wait
- Hangup
- ElseIf (Exist(PPEPath() + "VALID.NXT")) Then
- FOpen 1, PPEPath() + "VALID.NXT", 0, 0
- BOOLEAN002 = 0
- While (BOOLEAN002 == 0) Do
- FGet 1, STRING010
- If (Lower(STRING010) == Lower(U_Name())) Then
- FClose 1
- BOOLEAN001 = 0
- INTEGER002 = 0
- FOpen 1, PPEPath() + "VALID.NXT", 0, 0
- While (BOOLEAN001 == 0) Do
- Inc INTEGER002
- FGet 1, TSTRING009(INTEGER002)
- If (TSTRING009(INTEGER002) == "") BOOLEAN001 = 1
- EndWhile
- FClose 1
- FCreate 1, PPEPath() + "VALID.NXT", 2, 0
- For INTEGER003 = 1 To INTEGER002 - 1
- If (Lower(TSTRING009(INTEGER003)) <> Lower(U_Name())) Then
- FPutLn 1, TSTRING009(INTEGER003)
- Endif
- Next
- FClose 1
- PrintLn "You've been validated!"
- PrintLn "Performing online validation."
- GetUser
- U_Sec = 50
- PutUser
- Wait
- BOOLEAN002 = 1
- End
- Endif
- If (STRING010 == "") BOOLEAN002 = 1
- EndWhile
- Else
- If (Exist(PPEPath() + "DELETE.NXT")) Then
- FOpen 1, PPEPath() + "DELETE.NXT", 0, 0
- BOOLEAN002 = 0
- While (BOOLEAN002 == 0) Do
- FGet 1, STRING010
- If (Lower(STRING010) == Lower(U_Name())) Then
- FClose 1
- BOOLEAN001 = 0
- INTEGER002 = 0
- FOpen 1, PPEPath() + "DELETE.NXT", 0, 0
- While (BOOLEAN001 == 0) Do
- Inc INTEGER002
- FGet 1, TSTRING009(INTEGER002)
- If (TSTRING009(INTEGER002) == "") BOOLEAN001 = 1
- EndWhile
- FClose 1
- FCreate 1, PPEPath() + "DELETE.NXT", 2, 0
- For INTEGER003 = 1 To INTEGER002 - 1
- If (Lower(TSTRING009(INTEGER003)) <> Lower(U_Name())) Then
- FPutLn 1, TSTRING009(INTEGER003)
- Endif
- Next
- FClose 1
- PrintLn "You've been deleted!"
- PrintLn "Now deleting your account."
- GetUser
- U_Sec = 0
- PutUser
- Hangup
- BOOLEAN002 = 1
- Endif
- If (STRING010 == "") BOOLEAN002 = 1
- EndWhile
- Else
- Hangup
- Endif
- Endif
- :LABEL005
- PrintLn "You have not yet finished going through the NUV."
- Hangup
- :LABEL006
- If (!Exist(PPEPath() + "\APPS\WHOWAITS.APP")) End
- FOpen 1, PPEPath() + "\APPS\WHOWAITS.APP", 0, 0
- BOOLEAN001 = 0
- INTEGER002 = 0
- While (BOOLEAN001 == 0) Do
- Inc INTEGER002
- FGet 1, TSTRING001(INTEGER002)
- If (TSTRING001(INTEGER002) == "") Then
- BOOLEAN001 = 1
- Continue
- Endif
- Tokenize TSTRING001(S2I(INTEGER002, 10))
- INTEGER004 = TokCount()
- If (INTEGER004 > 1) Then
- For INTEGER005 = 1 To INTEGER004
- TSTRING002(INTEGER005) = GetToken()
- Next
- For INTEGER005 = 1 To INTEGER004
- TSTRING011(INTEGER002) = TSTRING011(INTEGER002) + TSTRING002(INTEGER005) + "_"
- Next
- Else
- TSTRING011(INTEGER002) = TSTRING001(S2I(INTEGER002, 10))
- Endif
- If (Exist(PPEPath() + "\APPS\" + TSTRING011(INTEGER002) + ".RES")) Goto LABEL007
- FCreate 3, PPEPath() + "\APPS\" + TSTRING011(INTEGER002) + ".RES", 2, 0
- TINTEGER012(INTEGER002) = 0
- TINTEGER013(INTEGER002) = 0
- FPutLn 3, I2S(TINTEGER012(INTEGER002), 10)
- FPutLn 3, I2S(TINTEGER013(INTEGER002), 10)
- FClose 3
- TBOOLEAN003(INTEGER002) = 0
- Continue
- :LABEL007
- FOpen 2, PPEPath() + "\APPS\" + TSTRING011(INTEGER002) + ".RES", 0, 0
- FGet 2, TINTEGER012(INTEGER002)
- FGet 2, TINTEGER013(INTEGER002)
- BOOLEAN002 = 0
- While (BOOLEAN002 == 0) Do
- FGet 2, STRING013
- If (STRING013 == "") Then
- BOOLEAN002 = 1
- Continue
- Endif
- If (Lower(STRING013) == Lower(U_Name())) Then
- FGet 2, TSTRING021(INTEGER002)
- TBOOLEAN003(INTEGER002) = 1
- BOOLEAN002 = 1
- Endif
- EndWhile
- FClose 2
- EndWhile
- FClose 1
- If (INTEGER002 == 1) Then
- PrintLn "No users are awaiting validation..."
- End
- Endif
- INTEGER011 = INTEGER002 - 1
- Cls
- StartDisp 1
- PrintLn "@X0D┌──────────────────────────── · · ·"
- PrintLn "@X0D│ @X0BNew User Vote PPE @X09-Coded By: @X0F L@X07iqu@X08id F@X07les@X0Fh"
- PrintLn "@X0D└──────── · ·"
- PrintLn
- For INTEGER003 = 1 To INTEGER011
- Print "@X0D[@X0B" + I2S(INTEGER003, 10) + "@X0D] @X0F" + TSTRING001(INTEGER003)
- If (TBOOLEAN003(INTEGER003) == 1) Then
- Print " Yea Votes: " + I2S(TINTEGER012(INTEGER003), 10)
- PrintLn " Nay Votes: " + I2S(TINTEGER013(INTEGER003), 10)
- Continue
- Endif
- PrintLn " [Undecided]"
- Next
- PrintLn "@X0D[@X0BQ@X0D] @X0FTo quit."
- STRING006 = ""
- InputStr "Who?", STRING006, 12, 3, Mask_Ascii(), 4096
- If (STRING006 == "") Goto LABEL001
- If (Lower(STRING006) == "q") End
- INTEGER008 = S2I(STRING006, 10)
- If (TBOOLEAN003(INTEGER008) == 1) Then
- PrintLn
- InputYN "Change your vote", STRING012, 7
- PrintLn
- If (STRING012 == YesChar()) Then
- TBOOLEAN003(INTEGER008) = 0
- If (Lower(TSTRING021(INTEGER008)) == "yes") Then
- TINTEGER012(INTEGER008) = TINTEGER012(INTEGER008) - 1
- Goto LABEL008
- Endif
- TINTEGER013(INTEGER008) = TINTEGER013(INTEGER008) - 1
- :LABEL008
- Goto LABEL009
- Goto LABEL009
- Endif
- Goto LABEL001
- Endif
- :LABEL009
- Gosub LABEL017
- Gosub LABEL010
- Goto LABEL013
- Goto LABEL001
- :LABEL010
- If (Exist(PPEPath() + "\APPS\" + TSTRING011(INTEGER008) + ".COM")) Goto LABEL011
- Return
- Goto LABEL012
- :LABEL011
- PrintLn
- InputYN "Comments Exist, Read them", STRING012, 15
- PrintLn
- PrintLn
- If (STRING012 == YesChar()) Then
- FOpen 1, PPEPath() + "\APPS\" + TSTRING011(INTEGER008) + ".COM", 0, 0
- BOOLEAN001 = 0
- While (BOOLEAN001 == 0) Do
- FGet 1, STRING013
- If (STRING013 <> "") Then
- PrintLn STRING013
- Continue
- Endif
- BOOLEAN001 = 1
- EndWhile
- FClose 1
- Endif
- :LABEL012
- Return
- :LABEL013
- PrintLn
- InputStr "How Do You Vote(Y/N/A)", STRING014, 12, 1, Mask_Ascii(), 4096
- PrintLn
- Select Case (Lower(STRING014))
- Case "y"
- TINTEGER012(INTEGER008) = TINTEGER012(INTEGER008) + 1
- Goto LABEL014
- Case "n"
- TINTEGER013(INTEGER008) = TINTEGER013(INTEGER008) + 1
- Goto LABEL014
- Case Else
- Goto LABEL001
- End Select
- :LABEL014
- STRING012 = ""
- InputYN "Add A Comment", STRING012, 14
- PrintLn
- If (STRING012 == YesChar()) Then
- InputStr ">_", STRING013, 12, 75, Mask_Ascii(), 4096
- PrintLn
- If (Exist(PPEPath() + "\APPS\" + TSTRING011(INTEGER008) + ".COM")) Goto LABEL015
- FCreate 2, PPEPath() + "\APPS\" + TSTRING011(INTEGER008) + ".COM", 2, 0
- FPutLn 2, "@X0E" + U_Name() + ": @X0F" + STRING013
- FClose 2
- Goto LABEL016
- :LABEL015
- FAppend 2, PPEPath() + "\APPS\" + TSTRING011(INTEGER008) + ".COM", 2, 0
- FPutLn 2, "@X0E" + U_Name() + ": @X0F" + STRING013
- FClose 2
- Endif
- :LABEL016
- Goto LABEL020
- :LABEL017
- For INTEGER002 = 1 To INTEGER010
- If (Exist(PPEPath() + "\APPS\" + TSTRING011(INTEGER008) + "." + I2S(INTEGER002, 10))) Then
- If (CurSec() < TSTRING020(INTEGER002)) Then
- Continue
- Goto LABEL019
- Endif
- FOpen 1, PPEPath() + "\INFOFORM\INFOCFG." + I2S(INTEGER002, 10), 0, 0
- FGet 1, STRING010
- FGet 1, STRING004
- For INTEGER003 = 1 To S2I(STRING004, 10)
- FGet 1, TSTRING003(INTEGER003)
- Next
- FClose 1
- For INTEGER003 = 1 To S2I(STRING004, 10)
- Tokenize TSTRING003(INTEGER003)
- TINTEGER006(INTEGER003) = S2I(GetToken(), 10)
- TINTEGER007(INTEGER003) = S2I(GetToken(), 10)
- Next
- DispFile PPEPath() + "\INFOFORM\INFOFORM." + I2S(INTEGER002, 10), 1
- FOpen 1, PPEPath() + "\APPS\" + TSTRING011(INTEGER008) + "." + I2S(INTEGER002, 10), 0, 0
- For INTEGER003 = 1 To S2I(STRING004, 10)
- FGet 1, STRING005
- AnsiPos TINTEGER006(INTEGER003), TINTEGER007(INTEGER003)
- Print STRING005
- Next
- FClose 1
- AnsiPos 10, 23
- Print "[ENTER] To Continue"
- :LABEL018
- STRING007 = Inkey()
- If (!(STRING007 == STRING008)) Goto LABEL018
- :LABEL019
- Cls
- Endif
- Next
- Return
- :LABEL020
- If (TINTEGER013(INTEGER008) >= S2I(STRING019, 10)) Then
- FCreate 1, PPEPath() + "\APPS\WHOWAITS.APP", 2, 0
- For INTEGER002 = 1 To INTEGER011
- If (INTEGER002 <> INTEGER008) Then
- FPutLn 1, TSTRING001(INTEGER002)
- Endif
- Next
- FClose 1
- STRING015 = "\APPS\" + TSTRING011(INTEGER008) + "."
- Delete PPEPath() + STRING015 + "APP"
- If (Exist(PPEPath() + STRING015 + "COM")) Delete PPEPath() + "\APPS\" + TSTRING011(INTEGER008) + ".COM"
- If (Exist(PPEPath() + STRING015 + "RES")) Delete PPEPath() + "\APPS\" + TSTRING011(INTEGER008) + ".RES"
- For INTEGER002 = 1 To INTEGER010
- If (Exist(PPEPath() + STRING015 + I2S(INTEGER002, 10))) Then
- Delete PPEPath() + STRING015 + I2S(INTEGER002, 10)
- Endif
- Next
- If (Exist(PPEPath() + "DELETE.NXT")) Goto LABEL021
- FCreate 3, PPEPath() + "DELETE.NXT", 2, 0
- FPutLn 3, TSTRING001(INTEGER008)
- FClose 3
- Goto LABEL022
- :LABEL021
- FAppend 3, PPEPath() + "DELETE.NXT", 2, 0
- FPutLn 3, TSTRING001(INTEGER008)
- FClose 3
- :LABEL022
- Else
- If (TINTEGER012(INTEGER008) >= S2I(STRING018, 10)) Then
- FCreate 1, PPEPath() + "\APPS\WHOWAITS.APP", 2, 0
- For INTEGER002 = 1 To INTEGER011
- If (INTEGER002 <> INTEGER008) Then
- FPutLn 1, TSTRING001(INTEGER002)
- Endif
- Next
- FClose 1
- STRING015 = "\APPS\" + TSTRING011(INTEGER008) + "."
- Delete PPEPath() + STRING015 + "APP"
- If (Exist(PPEPath() + STRING015 + "COM")) Delete PPEPath() + "\APPS\" + TSTRING011(INTEGER008) + ".COM"
- If (Exist(PPEPath() + STRING015 + "RES")) Delete PPEPath() + "\APPS\" + TSTRING011(INTEGER008) + ".RES"
- For INTEGER002 = 1 To INTEGER010
- If (Exist(PPEPath() + STRING015 + I2S(INTEGER002, 10))) Then
- Delete PPEPath() + STRING015 + I2S(INTEGER002, 10)
- Endif
- Next
- If (Exist(PPEPath() + "VALID.NXT")) Goto LABEL023
- FCreate 3, PPEPath() + "VALID.NXT", 2, 0
- FPutLn 3, TSTRING001(INTEGER008)
- FClose 3
- Goto LABEL024
- :LABEL023
- FAppend 3, PPEPath() + "VALID.NXT", 2, 0
- FPutLn 3, TSTRING001(INTEGER008)
- FClose 3
- :LABEL024
- Else
- FOpen 1, PPEPath() + "\APPS\" + TSTRING011(INTEGER008) + ".RES", 0, 0
- FGet 1, STRING010
- FGet 1, STRING010
- BOOLEAN001 = 0
- INTEGER002 = 0
- While (BOOLEAN001 == 0) Do
- Inc INTEGER002
- FGet 1, TSTRING022(INTEGER002)
- FGet 1, TSTRING023(INTEGER002)
- If (Lower(TSTRING022(INTEGER002)) == Lower(U_Name())) INTEGER002 = INTEGER002 - 1
- If (TSTRING022(INTEGER002) == "") BOOLEAN001 = 1
- EndWhile
- FClose 1
- FCreate 1, PPEPath() + "\APPS\" + TSTRING011(INTEGER008) + ".RES", 2, 0
- FPutLn 1, TINTEGER012(INTEGER008)
- FPutLn 1, TINTEGER013(INTEGER008)
- FPutLn 1, U_Name()
- If (Lower(STRING014) == "y") FPutLn 1, "yes"
- If (Lower(STRING014) == "n") FPutLn 1, "no"
- For INTEGER003 = 1 To INTEGER002 - 1
- FPutLn 1, TSTRING022(INTEGER003)
- FPutLn 1, TSTRING023(INTEGER003)
- Next
- FClose 1
- Endif
- Endif
- Goto LABEL006
-
- ;------------------------------------------------------------------------------
- ;
- ; Usage report (before postprocessing)
- ;
- ; ■ Statements used :
- ;
- ; 6 End
- ; 2 Cls
- ; 2 Wait
- ; 117 Goto
- ; 82 Let
- ; 4 Print
- ; 24 PrintLn
- ; 77 If
- ; 1 DispFile
- ; 9 FCreate
- ; 11 FOpen
- ; 3 FAppend
- ; 24 FClose
- ; 23 FGet
- ; 19 FPutLn
- ; 1 StartDisp
- ; 4 Hangup
- ; 2 GetUser
- ; 2 PutUser
- ; 8 Delete
- ; 2 Log
- ; 3 InputStr
- ; 3 InputYN
- ; 5 Gosub
- ; 5 Return
- ; 5 Inc
- ; 2 Tokenize
- ; 2 AnsiPos
- ;
- ;
- ; ■ Functions used :
- ;
- ; 129 +
- ; 11 -
- ; 38 ==
- ; 6 <>
- ; 15 <
- ; 14 <=
- ; 1 >
- ; 30 >=
- ; 64 !
- ; 30 &&
- ; 15 ||
- ; 18 Lower()
- ; 1 Chr()
- ; 9 U_Name()
- ; 3 YesChar()
- ; 1 Inkey()
- ; 3 Mask_Ascii()
- ; 50 PPEPath()
- ; 2 CurSec()
- ; 3 GetToken()
- ; 18 Exist()
- ; 13 I2S()
- ; 14 S2I()
- ; 1 TokCount()
- ;
- ;------------------------------------------------------------------------------
- ;
- ; Analysis flags : WB
- ;
- ; W - Write user ■ 5
- ; Program writes a user record. Although this may be normal for a
- ; User Editor, it may also be a way to modify an account level.
- ; ■ Search for : PUTUSER
- ;
- ; B - Brute hangup ■ 1
- ; Program hangup without notification. This may be a good way to
- ; disconnect a user, but if used randomly, may be very nasty
- ; ■ Search for : HANGUP, DTROFF
- ;
- ;------------------------------------------------------------------------------
- ;
- ; Postprocessing report
- ;
- ; 14 For/Next
- ; 9 While/EndWhile
- ; 29 If/Then or If/Then/Else
- ; 1 Select Case
- ;
- ;------------------------------------------------------------------------------
- ; AEGiS Corp - Break the routines, code against the machines!
- ;------------------------------------------------------------------------------
-